h1,
p {
  font-family: Lato;
}

div.box {
  padding: 10px;
  border: 1px solid #ddd;
  margin: 5px 0 5px 0;
  position: relative;
}

div.box>h2 {
  margin: 0 0 10px 0;
}

button.large-button {
  padding: 10px;
  margin: 5px 5px 5px 0;
  font-size: 12pt;
}

.grid-row {
  display: inline-flex;
  width: 100%;
  position: relative;
}

.row {
  display: inline-flex;
  border: 1px solid #ccc;
  margin: 2px;
  transition-duration: 100ms;
  font-size: 20pt;
  width: 100%;
  position: relative;
}

.row.add-item {
  border-style: dashed;
  border-color: #ccc8;
}

.done {
  background-color: #ccf;
}

.narrow {
  padding: 10px;
}

.todo-list-trash {
  padding: 1.7em 0.7em 1.7em 0.7em;
  font-size: 12pt;
  opacity: 0.3;
}

.todo-list-trash:hover {
  opacity: 1;
}

.todo-list-trash>a {
  cursor: pointer;
}

.todo-item-trash {
  position: absolute;
  right: 15px;
  top: 15px;
  opacity: 0.3;
}

.todo-item-trash:hover {
  opacity: 1;
}

.todo-item-trash>a {
  cursor: pointer;
}

.todo-item-text {
  width: 50vw;
  padding: 10px;
}

.todo-item-input {
  width: 100%;
  margin: 10px;
  outline: none;
  padding-right: 15px;
}

input[type='checkbox'] {
  -webkit-appearance: none;
  appearance: none;
  height: 25px;
  width: 25px;
  border: 1px solid #ccf;
  outline: none;
  transition-duration: 0.3s;
  cursor: pointer;
}

input[type='checkbox']:checked {
  border: 1px solid #41b883;
  background-color: #fff;
}

input[type='checkbox']:checked::after {
  content: '\2713';
  display: block;
  font-size: 25px;
  text-align: center;
  color: #ccf;
  position: relative;
  left: 0;
  top: -3px;
}

input[type='checkbox']:disabled {
  border-color: #ccf4;
}

input[type='text'] {
  border-color: #ccf4;
  height: 25px;
  width: 100%;
  outline: none;
  font-size: 20pt;
}

input::placeholder {
  color: #ddd;
  font-style: italic;
  font-weight: normal;
}
